#
#  Water Vapor GTK 2.0 Theme by bladrasame@gmail.com
#
#  This is a shameless (but extensive) hack of the excellent 
#  Glossy P them by m5brane (m5brane_AT_tolman.physics.lsa.umich.edu)

#gtk-icon-sizes = "gtk-large-toolbar=24,24:panel-menu=24,24"
#include "iconrc"

style "wv-default"
{
  #Yes or No?
  GtkWidget::focus_padding = 1

  GtkFrame::shadow_type = GTK_SHADOW_OUT
  GtkScrolledWindow::shadow_type = GTK_SHADOW_OUT
  GtkTreeView::odd_row_color = "#e4ebf5"

  fg[NORMAL]       = "#000000"
  fg[ACTIVE]       = "#000000"
  fg[PRELIGHT]     = "#000000"
  fg[SELECTED]     = "#000000"
  fg[INSENSITIVE]  = "#747474"
  
  bg[NORMAL]       = "#ececed"
  bg_pixmap[NORMAL] = "brushed.png"
  bg[ACTIVE]       = "#bbbbbb"
  bg[PRELIGHT]     = "#ececed"
  bg[SELECTED]     = "#aaaaaa"
  bg_pixmap[SELECTED] = "brushed.png"
  bg[INSENSITIVE]  = "#ececed"
  
  base[NORMAL]     = "#ffffff"
  base[ACTIVE]     = "#d4d4d4"
  base[PRELIGHT]   = "#cccccc"
  base[INSENSITIVE]= "#dddddd"  
  base[SELECTED]   = "#777777"
  
  text[INSENSITIVE]= "#747474"
  text[SELECTED]   = "#ffffff"
  text[ACTIVE]     = "#000000"

  #A semi-transparent hi-light for files selected in Nautilus
  NautilusIconContainer::highlight_alpha=160

  #This sets the color used for the text under the icons in nautilus when they are not highlighted.
  NautilusIconContainer::dark_info_color="#000000"
  #This is the color of the text under an icon in Nautilus when it is highlighted.
  NautilusIconContainer::light_info_color="#ececed"

    engine "pixmap"
    { 
	#This defines how the focus is drawn. Using a transparent image means there is
	#no line around a widget when it is in focus.
    	image
      	{
        	function        = FOCUS
		recolorable     = TRUE
		overlay_file    = "transparent.png"
		overlay_border  = { 0, 0, 0, 0 }
		overlay_stretch = TRUE
      	}

	#The following four entries describe how the different types of shadows
	#are drawn
    	image 
      	{
       		function        = SHADOW
 		recolorable     = TRUE
		shadow          = OUT
		file            = "shadow_etched_out.png"
		border          = { 2, 2, 2, 2 }
		stretch         = TRUE
      	}	

	# Tooltips
        image {
        function        = FLAT_BOX
	recolorable     = TRUE
	detail          = "tooltip"
	file            = "trough.png"
	border          = { 3, 3, 3, 3 }
	stretch         = TRUE
      }

    	image 
      	{
       		function        = SHADOW
 		recolorable     = TRUE
		shadow          = IN
		file            = "shadow_in.png"
		border          = { 2, 2, 2, 2 }
		stretch         = TRUE
      	}	

        image 
      	{
       		function        = SHADOW
 		recolorable     = TRUE
		shadow          = ETCHED_IN
		file            = "shadow_etched_in.png"
		border          = { 2, 2, 2, 2 }
		stretch         = TRUE
      	}	

        image 
      	{
       		function        = SHADOW
 		recolorable     = TRUE
		shadow          = ETCHED_OUT
		file            = "shadow_etched_out.png"
		border          = { 2, 2, 2, 2 }
		stretch         = TRUE
      	}	

	#How to draw horizontal lines
    	image
      	{
        	function        = HLINE
		recolorable     = TRUE
		file            = "hline.png"
		border          = { 1, 1, 1, 0 }
		stretch         = TRUE
      	}	

	#How to draw vertical lines
    	image
      	{
        	function        = VLINE
		recolorable     = TRUE
		file            = "vline.png"
		border          = { 1, 0, 1, 1 }
		stretch         = TRUE
      	}	

	#The following two entries describe how handles (grippers) are drawn.	
	image 
	{
		function	= HANDLE
		orientation	= HORIZONTAL
		recolorable	= TRUE
		#The background image on boxes with horizontal handles. 
		file		= "transparent.png"
		border		= { 1,1,1,1 }
		stretch		= TRUE
		#The overlay on horizontal handles
		overlay_file	= "vertical_handle.png"
		overlay_border	= { 0,0,0,0 }
		overlay_stretch	= FALSE
	}
	
		
	image
	{
	  	function = HANDLE
		recolorable = TRUE
		#The background on vertical handles
		file            = "toolbar.png"
		border          = { 1, 1, 1, 1 }
		stretch         = TRUE
		#The overlay on vertical handles. 
		overlay_file = "horizontal_handle.png"
		overlay_border = {0,0,0,0}
		overlay_stretch = FALSE
		orientation = VERTICAL
		shadow = OUT
	}

	#This tells gtk how to draw the base of a handlebox; i.e. the bin that the
	#buttons sit in.
 	image 
      	{
        	function        = BOX
		recolorable     = TRUE
		detail          = "handlebox_bin"
		file            = "brushed.png"
		border          = { 1,1,1,1 }
		stretch         = TRUE
      	}

     }

}

#####################################################
#Buttons
#####################################################

style "button"
{

  GtkButton::default_border = { 0, 0, 0, 0 }
  #GtkButton::default_outside_border = { 2, 2, 2, 2 }

  #This adds a little extra horizontal thickness to the buttons. I've added this so 
  #the label on a button has a little room on either side.
  xthickness=2
  ythickness=1
  engine "pixmap" 
    {
        
    image 
      {
        function        = BOX
	recolorable     = TRUE
	state           = NORMAL
	shadow          = OUT
        detail		= "buttondefault"
	file            = "gray_button.png"
	border          = { 9,9,10,10 }
	stretch         = TRUE
      }
    image 
      {
        function        = BOX
	recolorable     = TRUE
	state           = NORMAL
	#shadow          = IN
	file            = "gray_button.png"
	border          = { 9,9,10,10 }
	stretch         = TRUE
      }
    image 
      {
        function        = BOX
	recolorable     = TRUE
	state           = PRELIGHT
	shadow          = OUT
	file            = "menu_hi-light_3.png"
	border          = { 9,9,10,10 }
	stretch         = TRUE
      }
    image 
      {
       function        = BOX
	recolorable     = TRUE
	state           = PRELIGHT
	shadow          = IN
	file            = "tooltippy.png"
	border          = { 9,9,10,10 }
	stretch         = TRUE
      }
    image 
      {
        function        = BOX
	recolorable     = TRUE
	state           = NORMAL
	shadow          = OUT
	file            = "menu_hi-light_2.png"
	border          = { 9,9,10,10 }
	stretch         = TRUE
      }
    image 
      {
        function        = BOX
	recolorable     = TRUE
	state           = INSENSITIVE
	shadow          = OUT
	file            = "tooltippyi.png"
	border          = { 9,9,10,10 }
	stretch         = TRUE
      }
    image 
      {
        function        = BOX
	recolorable     = TRUE
	state           = INSENSITIVE
	shadow          = OUT
	file            = "tooltippyi.png"
	border          = { 9,9,10,10 }
	stretch         = TRUE
      }
    image 
      {
        function        = BOX
	recolorable     = TRUE
	state           = SELECTED
	shadow          = OUT
	file            = "insens.png"
	border          = {9,9,10,10 }
	stretch         = TRUE
      }
    image 
      {
        function        = BOX
	recolorable     = TRUE
	state           = ACTIVE
	shadow          = IN
	file            = "tooltippy.png"
	border          = { 9,9,10,10 }
	stretch         = TRUE
      }
    
   }
}

class "GtkButton" style "button"

################################################
# Paned Widgets: Windows divided into two or more sections, which can be
# resized by dragging handles.
################################################

style "wv-paned" = "wv-default"
{
  #This defines the thickness of the bar that divides the window.
  GtkPaned::handle_size = 8

  engine "pixmap"
  {
        # The handle on horizontal dividers
	image
	{
	  	function = HANDLE
		recolorable = TRUE
		file            = "brushed.png"
		border          = { 1, 1, 1, 1 }
		stretch         = TRUE
		overlay_file = "horizontal_paned_handle.png"
		overlay_border = {0,0,0,0}
		overlay_stretch = FALSE
		orientation = HORIZONTAL
	}

	# The handle on vertical dividers
	image
	{
	  	function = HANDLE
		recolorable = TRUE
		file            = "brushed.png"
		border          = { 1, 1, 1, 1 }
		stretch         = TRUE
		overlay_file = "vertical_paned_handle.png"
		overlay_border = {0,0,0,0}
		overlay_stretch = FALSE
		orientation = VERTICAL
	}


  }
}

class "Gtk*Paned" style "wv-paned"

################################################
# Toolbars drawn by gtk 
################################################
style "wv-toolbar"="wv-default"
{

   engine "pixmap"
   {

	# This tells gtk how to draw the toolbar
	image
	{
	  	function = BOX
		recolorable = TRUE
		shadow = OUT
		file = "toolbar.png"
		border = { 2,2,1,1 }
		stretch = TRUE
	}

   }
}

widget_class "GtkToolBar" style "wv-toolbar"
class "*Tool*" style "wv-toolbar"


###############################################
# Menus
###############################################

style "wv-menu" 
{
   ythickness=3
   xthickness=5

	engine "pixmap"
	{

	        image 
		    {
            		function        = BOX
            		recolorable     = TRUE
            		file            = "menu_background.png"
            		border          = {4,4,2,3}
            		stretch         = TRUE
       		    }

  		image 
      		    {
        		function        = HLINE
			recolorable     = TRUE
			file            = "hline.png"
			border          = { 1, 1, 1, 0 }
			stretch         = TRUE
      		    }

   	}
}

#widget_class "*Menu*" style "wv-menu"
class "GtkMenu" style "wv-menu"


###############################################
#  Menu Items
###############################################

style "MenuItem"
{

	#This sets the thickness of a buffer between the side of the menu
	#and where the mouse-over image (set below) is drawn. The side of
	#the menu is defined by the border set in the menu style above. 
	xthickness = 4
	ythickness = 3


    	engine "pixmap" 
	{

	#This image is used to draw the highlight on a menu entry when it is
	#moused over.
        image 
	    {
              	function        = BOX
              	recolorable     = TRUE
              	file            = "menu_hi-light_2.png"
              	border          = { 2, 2, 2, 2 }
            	stretch         = TRUE
            }

    	image 
            {
        	function        = HLINE
 		recolorable     = TRUE
 		file            = "hline.png"
		border          = { 1, 1, 1, 0 }
		stretch         = TRUE
      	    }
 
	}
}

widget_class "*.GtkMenuItem.*" style "MenuItem"
class "GtkMenuItem" style "MenuItem"

###############################################
# Styles and Controls for Option Menus
###############################################

style "OptionMenu" 
{
    engine "pixmap" 
   {

	image 
	{
            function        = BOX
            recolorable     = TRUE
	    state	    = NORMAL
            file            = "OptionMenu.png"
            border          = { 12, 22, 10, 10 }
            stretch         = TRUE
        }
	image 
	{
            function        = BOX
            state	    = PRELIGHT
	    recolorable     = TRUE
            file            = "OptionMenuP.png"
            border          = { 12, 22, 10, 10 }
            stretch         = TRUE
        }
	image 
	{
            function        = BOX
            recolorable     = TRUE
	    state	    = SELECTED
            file            = "OptionMenuA.png"
            border          = { 12, 22, 10, 10 }
            stretch         = TRUE
        }
        image 
	{
            function        = TAB
            recolorable     = TRUE
            overlay_file    = "menubar_option_arrow.png"
            overlay_stretch = FALSE
        }
        image 
	{
            function        = TAB
            recolorable     = TRUE
            state           = INSENSITIVE
            overlay_file    = "menubar_option_arrow_insensitive.png"
            overlay_stretch = FALSE
        }    
   }
}

class "GtkOptionMenu" style "OptionMenu"

#####################################################
#Notebook: How to draw the tabs, spacings, and backgrounds for notebooks.                    
#####################################################

style "notebook" 
{
  #These thickness settings make sure that we see the whole thin blue line at the top
  #of the notebook page.
  xthickness = 1
  ythickness = 5

	engine "pixmap" 
	{


		# NOTEBOOK TABS

		#####################
		#Tabs at the top of the notebook.
		#####################
		#This is the image used for the selected tab.
		image 
		{
			function = EXTENSION
			state = NORMAL
			gap_side = BOTTOM
			file = "SelectedTabTop.png"
			border = {6,6,9,0}
			stretch = TRUE
		}
		#This is the image used for tabs in the background.
		image 
		{
			function = EXTENSION
			state = ACTIVE
			gap_side = BOTTOM
			file = "NormalTabTop.png"
			border = {6,6,9,0}
			stretch = TRUE
		}

		########################
		# Tabs at the bottom of the notebook.
		########################
		# The image used for background tabs.
		image 
		{
			function = EXTENSION
			state = ACTIVE
			gap_side = TOP
			file = "NormalTabBottom.png"
			border = {6,6,0,9}
			stretch = TRUE
		}

		# The image for selected tabs.
		image 
		{
			function = EXTENSION
			state = NORMAL
			gap_side = TOP
			file = "SelectedTabBottom.png"
			border = {6,6,0,9}
			stretch = TRUE
		}

		#Use this image when the tabs are at the top of the notebook.
		image 
		{
			function = BOX_GAP
			gap_side = TOP
			file = "notebook_top_flat.png"
			border = {1,1,4,1}

			stretch = TRUE
		}
		# use this image when the tabs are on the bottom of the notebook.
		image 
		{
			function = BOX_GAP
			gap_side = BOTTOM
			file = "notebook_bottom_flat.png"
			border = {1,1,1,4}
			stretch = TRUE
		}
		# Use this when the tabs are on the left
		image 
		{
			function = BOX_GAP
			gap_side = LEFT
			file = "notebook_left_flat.png"
			border = {4,1,1,1}
			stretch = TRUE
		}
		# Use this when the tabs are on the right
		image 
		{
			function = BOX_GAP
			gap_side = RIGHT
			file = "notebook_right_flat.png"
			border = {1,4,1,1}
			stretch = TRUE
		}

		#For drawing notebook pages when they are not attached to a tab. When does
		#this happen?
        	image 
		{
            		function        = BOX
			file = "notebook_top_flat.png"
			border = {1,1,4,1}
			stretch = TRUE
            		gap_side        = TOP
        	}


	}
}
class "GtkNotebook" style "notebook"

#####################################################
#     Text Entries
#####################################################


style "entry" 
{
	base[NORMAL] = "#ececed"
	#bg_pixmap[NORMAL] = "toolbar.png"

	engine "pixmap" 
  		{

			image 
		        {
				function        = FLAT_BOX
				recolorable     = TRUE
				state           = INSENSITIVE
        			detail          = "entry_bg"
				file            = "text_entry.png"
				border		= {6,6,6,6 }
				stretch         = TRUE
      			}

    			image 
      			{
				function        = FLAT_BOX
				recolorable     = TRUE
				state           = NORMAL
        			detail          = "entry_bg"
				file            = "text_entry.png"
				border		= {6,6,6,6 }
				stretch         = TRUE
      			}

			image 
      			{
				function        = FLAT_BOX
				recolorable     = TRUE
				state           = SELECTED
        			detail          = "entry_bg"
				file            = "out_sel.png"
				border		= { 1,1,8,8 }
				stretch         = TRUE
      			}
			
			#This is a transparent shadow.
  			image 
      			{
        			function        = SHADOW
				recolorable     = TRUE
				shadow          = IN
				file            = "transparent.png"
				border          = { 2,2,2,2 }
				stretch         = TRUE
      			}
			
	}
}

class "GtkEntry" style "entry"

###############################################
# Gtk Lists, like the Rhythmbox playlist or Nautilus Listview
###############################################
style "list-header"
{
   #Comment out the ythickness setting below for thicker column headers.
   ythickness = 2
   GtkTreeView::odd_row_color = "#dddddd"
   GtkTreeView::even_row_color = "#ffffff"

   engine "pixmap" 
	{

	#This image is used to draw the headers of columns in list views when they are
	#not selected.
    	image
      		{
        		function        = BOX
			recolorable     = TRUE
			shadow          = OUT
			file            = "list_header.png"
			border          = { 3,3,3,3 }
			stretch         = TRUE
      		}

	#This image is used to draw the column headers in list views when they are
	#clicked.
    	image
      		{
        		function        = BOX
			recolorable     = TRUE
			shadow          = IN
			file            = "list_header_clicked.png"
			border          = { 3,3,3,3 }
			stretch         = TRUE
      		}
  	}    	
}

widget_class "*List" style "list-header"
widget_class "*Tree*" style "list-header"
widget_class "GtkCList" style "list-header"

###############################################
# GtkScrollbar: The scrollbars on windows
###############################################

style "Scrollbar" {
	

    GtkRange::trough_border = 0
    GtkRange::slider_width = 15


    GtkRange::stepper_size = 15

    GtkScrollbar::min_slider_length = 30
  
    engine "pixmap" 
    {
 	
        #The trough for vertical scrollbars. This is the region in which the slider moves.
	image 
	{
            function        = BOX
            recolorable     = TRUE
            detail          = "trough"
            file            = "vertical_trough.png"
            border          = { 0, 0, 30, 30 }
            stretch         = TRUE
            orientation     = VERTICAL
        }

	#The trough for horizontal scrollbars.
        image 
	{
            function        = BOX
            recolorable     = TRUE
            detail          = "trough"
            file            = "horizontal_trough.png"
            border          = { 30, 30, 0, 0 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }

	#The image used to draw the slider for horizontal scrollbars
	#in the NORMAL state.
        image 
	{
            function        = SLIDER
            recolorable     = TRUE
            state           = NORMAL
            file            = "scrollbar_horizontal.png"
            border          = { 15, 15, 6, 6 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }

	#The image used to draw the slider for horizontal scrollbars
	#in their prelight state.
        image 
	{
            function        = SLIDER 
            recolorable     = TRUE
            state           = PRELIGHT
            file            = "scrollbar_prelight_horizontal.png"
            border          = { 15, 15, 6, 6 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }

	#The image used to draw the slider for horizontal scrollbars
	#in their ACTIVE (pressed?) state.
        image 
	{
            function        = SLIDER 
            recolorable     = TRUE
            state           = ACTIVE
            file            = "scrollbar_horizontal.png"
            border          = { 15, 15, 6, 6 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }

	#The image used to draw the slider for horizontal scrollbars
	#in their INSENSITIVE state.
        image 
	{
            function        = SLIDER 
            recolorable     = TRUE
            state           = INSENSITIVE
            file            = "scrollbar_horizontal.png"
            border          = { 15, 15, 6, 6 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }

	#The image used to draw the slider for vertical scrollbars
	#in their NORMAL state.
        image 
	{
            function        = SLIDER
            recolorable     = TRUE
            state           = NORMAL
            file            = "scrollbar_vertical.png"
            border          = { 6, 6, 15, 15 }
            stretch         = TRUE
            orientation     = VERTICAL
        }

	#The image used to draw the slider for vertical scrollbars
	#in their prelight state.
        image 
	{
            function        = SLIDER 
            recolorable     = TRUE
            state           = PRELIGHT
            file            = "scrollbar_prelight_vertical.png"
            border          = { 6, 6, 15, 15 }
            stretch         = TRUE
            orientation     = VERTICAL
        }

	#The image used to draw the slider for vertical scrollbars
	#in their ACTIVE state.
        image 
	{
            function        = SLIDER 
            recolorable     = TRUE
            state           = ACTIVE
            file            = "scrollbar_vertical.png"
            border          = { 6, 6, 15, 15 }
            stretch         = TRUE
            orientation     = VERTICAL
        }

	#The image used to draw the slider for vertical scrollbars
	#in their INSENSITIVE state.
        image 
	{
            function        = SLIDER 
            recolorable     = TRUE
            state           = INSENSITIVE
            file            = "scrollbar_vertical.png"
            border          = { 6, 6, 15, 15 }
            stretch         = TRUE
            orientation     = VERTICAL
        }

        image 
	{
            function        = BOX
            recolorable     = TRUE
            state           = NORMAL 
            file            = "vscroll_down.png"
            border          = { 0, 0, 0, 0 }
            stretch         = TRUE
        }
        
	image 
	{
            function        = BOX
            recolorable     = TRUE
            state           = PRELIGHT
            file            = "vscroll_down.png"
            border          = { 0, 0, 0, 0 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }

        image 
	{
            function        = BOX
            recolorable     = TRUE
            state           = ACTIVE
            file            = "vscroll_down.png"
            border          = { 0, 0, 0, 0 }
            stretch         = TRUE
        }

     image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= NORMAL
	overlay_file	= "vscroll_up.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= UP
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= NORMAL
	overlay_file	= "vscroll_down.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= DOWN
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= NORMAL
	overlay_file	= "hscroll_left.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= LEFT
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= NORMAL
	overlay_file	= "hscroll_right.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= RIGHT
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= PRELIGHT
	overlay_file	= "vscroll_up_focus.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= UP
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= PRELIGHT
	overlay_file	= "vscroll_down_focus.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= DOWN
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= PRELIGHT
	overlay_file	= "hscroll_left_focus.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= LEFT
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= PRELIGHT
	overlay_file	= "hscroll_right_focus.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= RIGHT
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	shadow		= IN
	overlay_file	= "vscroll_up.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= UP
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	shadow		= IN
	overlay_file	= "vscroll_down.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= DOWN
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	shadow		= IN
	overlay_file	= "hscroll_left.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= LEFT
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	shadow		= IN
	overlay_file	= "hscroll_right.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= RIGHT
      }    

}
}

class "GtkScrollbar" style "Scrollbar"

###########################################
# Scales: The sliders used for volume, track position, etc. Drawn without
#	     arrow boxes on the end.
###########################################

#Problem: scales in some apps, like the Gimp, dont look right when they
#are small. The slider is too thin and has two overlapping pieces and looks
#like crap.

style "Scales"
{
    GtkRange::trough_border = 0
    GtkRange::slider_width = 15
    engine "pixmap" 
    {
	
        image 
	{
            function        = BOX
            recolorable     = TRUE
            detail          = "trough"
            file            = "vertical_trough_3.png"
            border          = { 1, 1, 3, 3 }
            stretch         = TRUE
            orientation     = VERTICAL
        }

        image 
	{
            function        = BOX
            recolorable     = TRUE
            detail          = "trough"
            file            = "horizontal_trough_3.png"
            border          = { 3, 3, 1, 1 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }

	image 
	{
            function        = SLIDER
            recolorable     = TRUE
            state           = NORMAL
            file            = "scrollbar_horizontal.png"
            border          = { 15, 15, 6, 6 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }

        image 
	{
            function        = SLIDER 
            recolorable     = TRUE
            state           = PRELIGHT
            file            = "scrollbar_prelight_horizontal.png"
            border          = { 15, 15, 6, 6 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }

        image 
	{
            function        = SLIDER 
            recolorable     = TRUE
            state           = ACTIVE
            file            = "scrollbar_prelight_horizontal.png"
            border          = { 15, 15, 6, 6 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }

        image 
	{
            function        = SLIDER 
            recolorable     = TRUE
            state           = INSENSITIVE
            file            = "scrollbar_horizontal.png"
            border          = { 15, 15, 6, 6 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }

        image 
	{
            function        = SLIDER
            recolorable     = TRUE
            state           = NORMAL
            file            = "scrollbar_vertical.png"
            border          = { 6, 6, 15, 15 }
            stretch         = TRUE
            orientation     = VERTICAL
        }

        image 
	{
            function        = SLIDER 
            recolorable     = TRUE
            state           = PRELIGHT
            file            = "scrollbar_prelight_vertical.png"
            border          = { 6, 6, 15, 15 }
            stretch         = TRUE
            orientation     = VERTICAL
        }

        image 
	{
            function        = SLIDER 
            recolorable     = TRUE
            state           = ACTIVE
            file            = "scrollbar_prelight_vertical.png"
            border          = { 6, 6, 15, 15 }
            stretch         = TRUE
            orientation     = VERTICAL
        }

        image 
	{
            function        = SLIDER 
            recolorable     = TRUE
            state           = INSENSITIVE
            file            = "scrollbar_vertical.png"
            border          = { 6, 6, 15, 15 }
            stretch         = TRUE
            orientation     = VERTICAL
        }

    }
}

class "GtkScale" style "Scales"

##################################################
#Spin Controls
#---------------
#These are buttons with two arrows that let you set some value by clicking the
#the arrows. The widget might also have a text entry box for setting the value
#directly by typing it in.                 
##################################################

style "spin"
{
  engine "pixmap" 
   {

	    #First we set the images for drawing different parts of a text entry that
	    #might be attached to the widget. This could be done by inheriting from the
	    #style used for GtkEntry, but we just set everything here explicitly. Still having
	    #the same problem as with GtkEntry with the white outline if we do not draw
	    #a shadow with a thick enough border.

	    image
	    {
	     	function		= FLAT_BOX
		recolorable	= TRUE
		state			= NORMAL
		detail		= "entry_bg"
		file			= "text_entry.png"
		border          	= {6,6,6,6 }
		stretch		= TRUE
	    }

	    image
	    {
	     	function		= FLAT_BOX
		recolorable	= TRUE
		state			= SELECTED
		detail		= "entry_bg"
		file			= "out_sel.png"
		border          	= { 1,1,8,8 }
		stretch		= TRUE
	    }

	    image
	    {
	     	function		= FLAT_BOX
		recolorable	= TRUE
		state			= INSENSITIVE
		detail		= "entry_bg"
		file			= "text_entry.png"
		border          	= {6,6,6,6 }
		stretch		= TRUE
	    }

	    image 
	    {
	        function        	= SHADOW
		recolorable     	= TRUE
		shadow          	= IN
		file            		= "transparent.png"
		border          	= { 1,1,1,1 }
		stretch         	= TRUE
	    }


	    #The following two sections define the images used to draw the up and
	    #down spin buttons in the INSENSITIVE state.
	    image 
	    {
	        function        	= BOX
		recolorable     	= TRUE
		state			= INSENSITIVE
		detail		= "spinbutton_up"
		file            		= "spin_button_up.png"
		border          	= { 7,7,6,0 }
		stretch         	= TRUE
	    }

	    image 
	    {
	        function        	= BOX
		recolorable     	= TRUE
		state			= INSENSITIVE
		detail		= "spinbutton_down"
		file            		= "spin_button_down.png"
		border          	= { 7,7,0,6 }
		stretch         	= TRUE
	    }

	    #The following two sections define the images used to draw the up and
	    #down spin buttons in the PRELIGHT state.
	    image 
	    {
	        function        	= BOX
		recolorable  	= TRUE
		state			= PRELIGHT
		detail		= "spinbutton_up"
		file            		= "spin_button_up_prelight.png"
		border          	= { 7,7,6,0 }
		stretch         	= TRUE
	    }

	    image 
	    {
	        function        	= BOX
		recolorable  	= TRUE
		state			= PRELIGHT
		detail		= "spinbutton_down"
		file            		= "spin_button_down_prelight.png"
		border          	= { 7,7,0,6 }
		stretch         	= TRUE
	    }

	    #The following two sections define the images used to draw the up and
	    #down spin buttons in any states that we have not already defined.
	    image 
	    {
	        function        	= BOX
		recolorable     	= TRUE
		detail		= "spinbutton_up"
		file            		= "spin_button_up_active.png"
		border          	= { 7,7,6,0 }
		stretch         	= TRUE
	    }

	    image 
	    {
	        function        	= BOX
		recolorable     	= TRUE
		detail		= "spinbutton_down"
		file            		= "spin_button_down_active.png"
		border          	= { 7,7,0,6 }
		stretch         	= TRUE
	    }

	    #The arrows drawn on the spinbuttons are set by the next two
	    #entries. Different types of arrows can be used for different
	    #states by setting images for each state.

	    image 
	    {
		function	= ARROW
		recolorable	= TRUE
		overlay_file	= "spin_button_up_arrow.png"
		overlay_border	= { 0, 0, 0, 0 }
		overlay_stretch	= FALSE
		arrow_direction	= UP
      	    }

	    image 
	    {
		function	= ARROW
		recolorable	= TRUE
		overlay_file	= "spin_button_down_arrow.png"
		overlay_border	= { 0, 0, 0, 0 }
		overlay_stretch	= FALSE
		arrow_direction	= DOWN
      	    }
	}
}
	
class "GtkSpin*" style "spin"

############################################
# Check Boxes
# --------------
# This section tells GTK how to draw check boxes.
############################################

style "CheckBox" 
{

    engine "pixmap" 
    {
	#This is the image used to draw an unchecked box.
        image 
	{
            function        = CHECK
            recolorable     = TRUE
            shadow          = OUT
            overlay_file    = "unchecked_box.png"
            overlay_stretch = FALSE
        }

	#This is the image used to draw a selected (checked) box.
        image 
	{
            function        = CHECK
            recolorable     = TRUE
            shadow          = IN
            overlay_file    = "checked_box.png"
            overlay_stretch = FALSE
        }

	#Use this image to draw the highlight when a line with a check box
	#is moused over.
	image 
	{
            function        = FLAT_BOX
            recolorable     = TRUE
            file            = "menu_hi-light_2.png"
            border          = { 1, 1, 1, 1 }
        }

    }
}

class "GtkCheckButton" style "CheckBox"

############################################
# Radio Buttons 
############################################

style "RadioButton" 
{

    engine "pixmap" 
    {

	image 
	{
            function        = OPTION
            recolorable     = TRUE
            shadow          = OUT
            overlay_file    = "option_out_2.png"
            overlay_border  = { 0, 0, 0, 0 }
            overlay_stretch = FALSE
        }

        image 
	{
            function        = OPTION
            recolorable     = TRUE
            shadow          = IN
            overlay_file    = "option_in_2.png"
            overlay_border  = { 0, 0, 0, 0 }
            overlay_stretch = FALSE
        }

	#Use this image to draw the highlight when a line with a radio box
	#is moused over.
	image 
	{
            function        = FLAT_BOX
            recolorable     = TRUE
            file            = "menu_hi-light_2.png"
            border          = { 1, 1, 1, 1 }
        }

    }
}

class "GtkRadioButton" style "RadioButton"

################################################
# Statusbars Drawn by gtk (info bar on the bottom of the window)
################################################
style "wv-GtkStatusbar" = "wv-default"
{
      GtkStatusbar::shadow_type = GTK_SHADOW_NONE

      engine "pixmap" 
     {

	#This does not seem to be working. It seems that you can tell gtk how
	#to draw the resizing grip in the bottom right corner of the window, which
	#seems to be part of the status bar. Not sure why it is not working.
	    image
	    {
	     	function		= RESIZE_GRIP
		recolorable	= TRUE
		#state			= NORMAL
		detail		= "statusbar"
		overlay_file			= "menu_hi-light_2.png"
		overlay_border          	= {1,1,1,1 }
		overlay_stretch		= FALSE
	    }
      }


}

class "GtkStatusbar" style "wv-GtkStatusbar"

###########################################
#Progress Bars
###########################################

style "ProgressBar"
{
  #xthickness = 1
  #ythickness = 1
  GtkProgressBar::trough_border = 0

  engine "pixmap" 
  {
        image 
	{
            function        = BOX
            recolorable     = TRUE
            detail          = "bar"
            file            = "progressbar.png"
            border          = { 1, 2, 1, 1}
            stretch         = TRUE
        }

        image 
	{
            function        = BOX
            recolorable     = TRUE
            detail          = "trough"
            file            = "trough.png"
            border          = { 1, 1, 1, 1 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }
    }
}

class "GtkProgressBar" style "ProgressBar"

###########################################
#Text Boxes in Notebooks	
###########################################

#Notebook pages have a darker background than the normal base color. This
#section sets the appropriate background colors for widgets with text entries
#so they blend in with the darker grey background. This isn't a complete fix
#for the problem, since some programs seem to use notebook pages (without
#tabs) in such a way that they don't pick up the dark grey background.

style "DarkTextEntry"
{
  #xthickness = 1
  #ythickness = 1
  
  #font_name = "Bold"

  base[NORMAL]     = "#CBCBCB"
  base[INSENSITIVE] = "#CBCBCB"	

}
widget_class "*Notebook*Entry" style "DarkTextEntry"
widget_class "*Notebook*ComboBox" style "DarkTextEntry"
widget_class "*Notebook*SpinButton" style "DarkTextEntry"



#############################################
#Gnome Panel
#############################################


style "panelbg" {
  bg_pixmap[NORMAL] = "panel_background.png"
  bg_pixmap[INSENSITIVE] = "<parent>"
  bg_pixmap[PRELIGHT] = "<parent>"
  bg_pixmap[SELECTED] = "<parent>"
  bg_pixmap[ACTIVE] = "<parent>"
}
class "Panel*" style "panelbg"


#Widgets that have not been defined yet
class "GtkWidget" style "wv-default"

